#include <iostream>
#include <cassert>
#include <cstdio>
#include <pthread.h>
#include <unistd.h>

using namespace std;

int g_val = 0;

string func()
{
    return " 我是func() ";
}


void *thread_func(void *args)
{
    // 新线程
    while(true)
    {
        cout << "我是新线程！" << "name : " << (const char*)args << func() << " : " << g_val++ << " : " << &g_val << endl;
        sleep(1); 
    }
}


int main()
{
    pthread_t tid;
    int n = pthread_create(&tid, NULL, thread_func, (void*)"thread one!");
    assert(0 == n);
    (void)n;

    // 主线程
    while(true)
    {
        // printf("tid : 0x%x\n", tid);
        cout << "我是主线程! 我创建出来的tid : " << tid << func() << " : " << g_val << " : " << &g_val << endl;
        sleep(1);
    }

    return 0;
}